package com.feicheng.persistence.mapper;


import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.feicheng.persistence.entity.DepositRecord;
import com.feicheng.persistence.model.ClientDepositPlus;
import com.feicheng.persistence.model.DepositRecordMain;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author cailongyang
 * @since 2021-12-14
 */
@Mapper
public interface DepositRecordMapper extends BaseMapper<DepositRecord> {

    Page<DepositRecordMain> getDepositRecordMapper(Page<DepositRecordMain> page, @Param(Constants.WRAPPER) QueryWrapper<DepositRecordMain> wrapper);
    
    Integer getAmountMapper(@Param(Constants.WRAPPER) QueryWrapper<DepositRecordMain> wrapper);

    Integer getDepositBackAmount(@Param(Constants.WRAPPER) QueryWrapper<DepositRecord> wrapper);

    List<DepositRecordMain> searchWithPayment(@Param(Constants.WRAPPER) QueryWrapper<DepositRecordMain> wrapper);

    List<ClientDepositPlus> getClientDepositPlus(@Param(Constants.WRAPPER) QueryWrapper<ClientDepositPlus> wrapper);
    
    Page<ClientDepositPlus> getClientDepositPlusByPage(Page<ClientDepositPlus> page, @Param(Constants.WRAPPER) QueryWrapper<ClientDepositPlus> wrapper);
}
